[INFO] fetching crate ktx-async 0.1.1...
[INFO] fixing ktx-async-0.1.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate ktx-async 0.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate ktx-async 0.1.1
[INFO] finished tweaking crates.io crate ktx-async 0.1.1
[INFO] tweaked toml for crates.io crate ktx-async 0.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ktx-async 0.1.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ktx-async 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] eeaf994b4bf4ee6ce55632ed0096cebf097dd8ba855a5bbe585e18cf78452eb3
[INFO] running `Command { std: "docker" "start" "eeaf994b4bf4ee6ce55632ed0096cebf097dd8ba855a5bbe585e18cf78452eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eeaf994b4bf4ee6ce55632ed0096cebf097dd8ba855a5bbe585e18cf78452eb3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eeaf994b4bf4ee6ce55632ed0096cebf097dd8ba855a5bbe585e18cf78452eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eeaf994b4bf4ee6ce55632ed0096cebf097dd8ba855a5bbe585e18cf78452eb3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   libc v0.2.66 removed features: default, std
[INFO] [stderr]   tokio v0.2.5 removed features: blocking, dns, fnv, fs, full, futures-core, io-driver, io-std, iovec, lazy_static, libc, macros, mio, mio-named-pipes, mio-uds, net, num_cpus, process, rt-core, rt-threaded, rt-util, signal, signal-hook-registry, slab, stream, sync, tcp, time, tokio-macros, udp, uds, winapi
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   tokio v0.2.5 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]    Compiling cc v1.0.48
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]     Checking same-file v1.0.5
[INFO] [stderr]     Checking downcast-rs v1.1.1
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]     Checking lock_api v0.3.2
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]    Compiling gl_generator v0.11.0
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling x11-dl v2.18.4
[INFO] [stderr]     Checking walkdir v2.2.9
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]     Checking futures-core v0.3.1
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking smallvec v1.0.0
[INFO] [stderr]    Compiling error-chain v0.12.1
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking mio v0.6.21
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking arc-swap v0.4.4
[INFO] [stderr]     Checking parking_lot_core v0.7.0
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.4
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]    Compiling proc-macro-nested v0.1.3
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.5
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling backtrace-sys v0.1.32
[INFO] [stderr]     Checking parking_lot v0.10.0
[INFO] [stderr]     Checking rusttype v0.8.2
[INFO] [stderr]     Checking signal-hook-registry v1.2.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking num_cpus v1.11.1
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking pin-project-lite v0.1.1
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking instant v0.1.2
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking bytes v0.5.3
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking futures-task v0.3.1
[INFO] [stderr]     Checking pin-utils v0.1.0-alpha.4
[INFO] [stderr]     Checking backtrace v0.3.40
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]    Compiling proc-macro-hack v0.5.11
[INFO] [stderr]    Compiling tokio-macros v0.2.1
[INFO] [stderr]    Compiling async-stream-impl v0.2.0
[INFO] [stderr]     Checking tokio v0.2.5
[INFO] [stderr]     Checking async-stream v0.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.1
[INFO] [stderr]     Checking futures-util v0.3.1
[INFO] [stderr]     Checking ktx-async v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.4
[INFO] [stderr]     Checking winit v0.20.0-alpha5
[INFO] [stderr]     Checking glutin v0.22.0-alpha5
[INFO] [stderr]    Migrating examples/basic.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/test.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.05s
[INFO] [stderr] crater-edition-check: ktx-async v0.1.1 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking tokio v0.2.5
[INFO] [stderr]     Checking ktx-async v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | / error_chain! {
[INFO] [stdout] 395 | |     types {
[INFO] [stdout] 396 | |         Error, ErrorKind, ResultExt, Result;
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | / error_chain! {
[INFO] [stdout] 395 | |     types {
[INFO] [stdout] 396 | |         Error, ErrorKind, ResultExt, Result;
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:424:17
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub fn iter(&self) -> Entries {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub fn iter(&self) -> Entries<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:424:17
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub fn iter(&self) -> Entries {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub fn iter(&self) -> Entries<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/test.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     (16 * bw * bh)
[INFO] [stdout]     |     ^            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 312 -     (16 * bw * bh)
[INFO] [stdout] 312 +     16 * bw * bh 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/test.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 |     (8 * bw * bh)
[INFO] [stdout]     |     ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 318 -     (8 * bw * bh)
[INFO] [stdout] 318 +     8 * bw * bh 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/test.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 324 |     (8 * bw * bh)
[INFO] [stdout]     |     ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 324 -     (8 * bw * bh)
[INFO] [stdout] 324 +     8 * bw * bh 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance
[INFO] [stdout]    --> examples/basic.rs:122:39
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...                   let off = std::mem::transmute(8_usize);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is dangerous because dereferencing the resulting pointer is undefined behavior
[INFO] [stdout]     = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance
[INFO] [stdout]     = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut`
[INFO] [stdout]     = help: for more information about transmute, see <https://doc.rust-lang.org/std/mem/fn.transmute.html#transmutation-between-pointers-and-integers>
[INFO] [stdout]     = help: for more information about exposed provenance, see <https://doc.rust-lang.org/std/ptr/index.html#exposed-provenance>
[INFO] [stdout]     = note: `#[warn(integer_to_ptr_transmutes)]` on by default
[INFO] [stdout] help: use `std::ptr::with_exposed_provenance` instead to use a previously exposed provenance
[INFO] [stdout]     |
[INFO] [stdout] 122 -                             let off = std::mem::transmute(8_usize);
[INFO] [stdout] 122 +                             let off = std::ptr::with_exposed_provenance::<c_void>(8_usize);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.01s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   libc v0.2.66 removed features: default, std
[INFO] [stderr]   tokio v0.2.5 removed features: blocking, dns, fnv, fs, full, futures-core, io-driver, io-std, iovec, lazy_static, libc, macros, mio, mio-named-pipes, mio-uds, net, num_cpus, process, rt-core, rt-threaded, rt-util, signal, signal-hook-registry, slab, stream, sync, tcp, time, tokio-macros, udp, uds, winapi
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   tokio v0.2.5 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]     Checking ktx-async v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: `impl Stream<Item = std::result::Result<(FrameInfo, Vec<u8>), Error>> + Unpin` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:142:6
[INFO] [stdout]     |
[INFO] [stdout] 142 | ) -> impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:141:11
[INFO] [stdout]     |
[INFO] [stdout] 141 |     info: &HeaderInfo,
[INFO] [stdout]     |           ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 |     read: impl AsyncRead + Unpin,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 139 ~ fn new_async_stream<T: AsyncRead + Unpin>(
[INFO] [stdout] 140 ~     read: T,
[INFO] [stdout] 141 |     info: &HeaderInfo,
[INFO] [stdout] 142 ~ ) -> impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin + use<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Stream<Item = std::result::Result<(FrameInfo, Vec<u8>), Error>> + Unpin` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lib.rs:142:6
[INFO] [stdout]     |
[INFO] [stdout] 142 | ) -> impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lib.rs:141:11
[INFO] [stdout]     |
[INFO] [stdout] 141 |     info: &HeaderInfo,
[INFO] [stdout]     |           ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 |     read: impl AsyncRead + Unpin,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 139 ~ fn new_async_stream<T: AsyncRead + Unpin>(
[INFO] [stdout] 140 ~     read: T,
[INFO] [stdout] 141 |     info: &HeaderInfo,
[INFO] [stdout] 142 ~ ) -> impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin + use<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/basic.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.00s
[INFO] [stderr] crater-edition-check: ktx-async v0.1.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking ktx-async v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | / error_chain! {
[INFO] [stdout] 395 | |     types {
[INFO] [stdout] 396 | |         Error, ErrorKind, ResultExt, Result;
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/lib.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | / error_chain! {
[INFO] [stdout] 395 | |     types {
[INFO] [stdout] 396 | |         Error, ErrorKind, ResultExt, Result;
[INFO] [stdout] ...   |
[INFO] [stdout] 409 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `info`
[INFO] [stdout]    --> src/lib.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let stream = new_async_stream(read, &info);
[INFO] [stdout]     |                                             ----- `info` is borrowed here
[INFO] [stdout] 134 |
[INFO] [stdout] 135 |         Ok((info, stream))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/lib.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let stream = new_async_stream(read, &info);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 |     read: impl AsyncRead + Unpin,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 139 ~ fn new_async_stream<T: AsyncRead + Unpin>(
[INFO] [stdout] 140 ~     read: T,
[INFO] [stdout] 141 |     info: &HeaderInfo,
[INFO] [stdout] 142 ~ ) -> impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin + use<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `info`
[INFO] [stdout]    --> src/lib.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let stream = new_async_stream(read, &info);
[INFO] [stdout]     |                                             ----- `info` is borrowed here
[INFO] [stdout] 134 |
[INFO] [stdout] 135 |         Ok((info, stream))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/lib.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let stream = new_async_stream(read, &info);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 |     read: impl AsyncRead + Unpin,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 139 ~ fn new_async_stream<T: AsyncRead + Unpin>(
[INFO] [stdout] 140 ~     read: T,
[INFO] [stdout] 141 |     info: &HeaderInfo,
[INFO] [stdout] 142 ~ ) -> impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin + use<T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `info` because it is borrowed
[INFO] [stdout]    --> src/lib.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |       ) -> Result<(
[INFO] [stdout]     |  __________-
[INFO] [stdout] 124 | |         HeaderInfo,
[INFO] [stdout] 125 | |         impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin,
[INFO] [stdout] 126 | |     )> {
[INFO] [stdout]     | |______- return type of async function `std::result::Result<(HeaderInfo, impl Stream<Item = std::result::Result<(FrameInfo, Vec<u8>), Error>> + Unpin), Error>` contains a lifetime `'1`
[INFO] [stdout] ...
[INFO] [stdout] 130 |           let info = read_header_async(&mut read).await?;
[INFO] [stdout]     |               ---- binding `info` declared here
[INFO] [stdout] ...
[INFO] [stdout] 133 |           let stream = new_async_stream(read, &info);
[INFO] [stdout]     |                                               ----- borrow of `info` occurs here
[INFO] [stdout] 134 |
[INFO] [stdout] 135 |           Ok((info, stream))
[INFO] [stdout]     |           ----^^^^----------
[INFO] [stdout]     |           |   |
[INFO] [stdout]     |           |   move out of `info` occurs here
[INFO] [stdout]     |           returning this value requires that `info` is borrowed for `'1`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/lib.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let stream = new_async_stream(read, &info);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 |     read: impl AsyncRead + Unpin,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 139 ~ fn new_async_stream<T: AsyncRead + Unpin>(
[INFO] [stdout] 140 ~     read: T,
[INFO] [stdout] 141 |     info: &HeaderInfo,
[INFO] [stdout] 142 ~ ) -> impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin + use<T> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let stream = new_async_stream(read, &info.clone());
[INFO] [stdout]     |                                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `info` because it is borrowed
[INFO] [stdout]    --> src/lib.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |       ) -> Result<(
[INFO] [stdout]     |  __________-
[INFO] [stdout] 124 | |         HeaderInfo,
[INFO] [stdout] 125 | |         impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin,
[INFO] [stdout] 126 | |     )> {
[INFO] [stdout]     | |______- return type of async function `std::result::Result<(HeaderInfo, impl Stream<Item = std::result::Result<(FrameInfo, Vec<u8>), Error>> + Unpin), Error>` contains a lifetime `'1`
[INFO] [stdout] ...
[INFO] [stdout] 130 |           let info = read_header_async(&mut read).await?;
[INFO] [stdout]     |               ---- binding `info` declared here
[INFO] [stdout] ...
[INFO] [stdout] 133 |           let stream = new_async_stream(read, &info);
[INFO] [stdout]     |                                               ----- borrow of `info` occurs here
[INFO] [stdout] 134 |
[INFO] [stdout] 135 |           Ok((info, stream))
[INFO] [stdout]     |           ----^^^^----------
[INFO] [stdout]     |           |   |
[INFO] [stdout]     |           |   move out of `info` occurs here
[INFO] [stdout]     |           returning this value requires that `info` is borrowed for `'1`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/lib.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let stream = new_async_stream(read, &info);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/lib.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 |     read: impl AsyncRead + Unpin,
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 139 ~ fn new_async_stream<T: AsyncRead + Unpin>(
[INFO] [stdout] 140 ~     read: T,
[INFO] [stdout] 141 |     info: &HeaderInfo,
[INFO] [stdout] 142 ~ ) -> impl Stream<Item = Result<(FrameInfo, Vec<u8>)>> + Unpin + use<T> {
[INFO] [stdout]     |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let stream = new_async_stream(read, &info.clone());
[INFO] [stdout]     |                                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0505, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0505`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0505, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0505`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ktx-async` (lib test) due to 2 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ktx-async` (lib) due to 2 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "eeaf994b4bf4ee6ce55632ed0096cebf097dd8ba855a5bbe585e18cf78452eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eeaf994b4bf4ee6ce55632ed0096cebf097dd8ba855a5bbe585e18cf78452eb3", kill_on_drop: false }`
[INFO] [stdout] eeaf994b4bf4ee6ce55632ed0096cebf097dd8ba855a5bbe585e18cf78452eb3
